var express = require('express');
var router = express.Router();
var v_user = require('../models/validate/user');
//引入公共函数
var f = require('../common/function');
var model = require('../models/db/model');

/* 用户信息 */
router.get('/info',v_user.checkLogin,function(req, res, next) {
      res.render('users/info',{user:req.session.user,title:'用户信息'});
});
//获取用户登陆页面
router.get('/login', function(req, res, next) {
    res.render('users/login',{title:'用户登陆'});
});
//获取用户注册提交的表单
router.post('/login', function(req, res, next) {
    var data = req.body;
    data.password=f.md5(data.password);
    Model('user').findOne(data,function(err,doc){
        if(doc){
            req.flash('success','登录成功！');
            req.session.user=doc;//储存session
            return res.redirect('/');//跳到首页

        }
            req.flash('error','用户名或密码错误！');
            return res.redirect('back');
    })
});
//用户注册页面
router.get('/reg',function(req,res,next){
    res.render('users/reg',{title:'用户注册'});
});
//用户注册数据
router.post('/reg',v_user.v_add,function(req,res,next){
    var data = req.body;

    //判断用户名是否存在
    Model('user').findOne({username:data.username},function(err,doc){
        if(doc){
            req.flash('error','用户名已经存在！');
            return res.redirect('back');
        }else{
            Model('user').create(data,function(err,doc){
                if(err){
                    req.flash('error',err);
                    return res.redirect('/users/reg');
                }else{
                    req.flash('success','注册成功，请登录！');
                    res.redirect('/users/login');
                }
            });
        }
    });
});
//用户退出
router.get('/logout',function(req,res,next){
    req.session.user='';//清空session里的user
    return res.redirect('/');//跳到首页
});
module.exports = router;
